﻿using System;
using System.Collections;

namespace 键值对集合
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建了一个键值对集合对象
            //Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable Hashtable hashtable Hashtable Hashtable Hashtable
            Hashtable ht = new Hashtable();
            ht.Add(1, "蛋总");
            ht.Add(2, '男');
            ht.Add(3, true);
            ht.Add(false, "错误的");
            ht[5] = "新来的";//这也是一种添加数据的方式
            //ht.Add("abc", "cba");
            //ht.ContainsKey判断是否包含"abc"
            //ht.Clear()删除所有元素
            //ht.Remove()根据键去移除
            if (!ht.ContainsKey("abc"))
            {
                ht.Add("abc", "哈哈哈1");
            }
            else
            {
                //Console.WriteLine("已经包含abc了");
                ht["abc"] = "哈哈哈";
            }
            //var：推断类型   item：代表每一个键  in：在 he.Keys：要遍历的集合
            foreach (var item in ht.Keys)
            {
                Console.WriteLine("---键是{0}，---值是{1}", item, ht[item]);
            }
            //在键值对集合中 是根据键去找值的
            //Console.WriteLine(ht[1]);
            //Console.WriteLine(ht[2]);
            //Console.WriteLine(ht[3]);
            //Console.WriteLine(ht[false]);
            //Console.WriteLine(ht[5]);
            //Console.WriteLine("-----------------------------------------------");
            //for (int i = 0; i < ht.Count; i++)
            //{
            //    Console.WriteLine(ht[i]);
            //}

        }
    }
}
